/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itsc.dswII.view;

import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.its.dswII.biblioteca.bl.CategoriaBlLocal;
import mx.its.dswII.biblioteca.modelo.Categoria;

/**
 *
 * @author Lenovo-user
 */
@ManagedBean
@SessionScoped
public class CategoriaBean {
    @EJB
    private CategoriaBlLocal categoriaBl;

       private Categoria categoria;
    private List<Categoria> listCategoria;
    private String accion="";
    /**
     * Creates a new instance of CategoryBean
     */
    public CategoriaBean() {
        categoria=new Categoria();
    }

    public Categoria getCategoria() {
        return categoria;
    }

    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }

    public List<Categoria> getListCategoria() {
        listCategoria=categoriaBl.getAll();
        return listCategoria;
    }
    
    public void prepararNuevo(ActionEvent evt){
        accion="Nuevo";
        categoria=new Categoria();
     
    }
    
    public void prepararEditar(ActionEvent evt){
        accion = "Editar";
        listCategoria = categoriaBl.getListByCategory(categoria);
//        int index=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
//        categoria=listCategoria.get(index);
        
    }
    public void prepararEliminar(ActionEvent evt){
        int index=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
        categoria=listCategoria.get(index);
    }
    
    public String procesarAccion(){
        if(accion.equalsIgnoreCase("Nuevo") ){
            categoriaBl.register(categoria);
            
        }else{
            if(accion.equalsIgnoreCase("Editar")){
                categoriaBl.modify(categoria);
            }else{
                if(accion.equalsIgnoreCase("Eliminar")){
                    categoriaBl.remove(categoria);
                    
                }
            }
        }
        return "CategoriaList";
    }
    
    public String procesarDecicion(){
        String link="";
        if(accion.equalsIgnoreCase("Nuevo")||accion.equalsIgnoreCase("Editar") ){
            link="CategoriaCreateEdit";
            
        }else{
            if(accion.equalsIgnoreCase("Eliminar")){
                link="CategoriaList";
            }
        }
        return link;
    }
}
